package commonclass.stringclass;



import org.junit.jupiter.api.Test;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/**
 * @author Lenl
 * @version v1.0
 * @create 2021-06-03 20:16
 * @description String与数组的转换
 *
 *string与char[]的转换：
 *  String-->char[] str.toCharArray
 *  char[]-->String 调用String构造器将char[]传进去
 *string与byte[]的转换
 *  String-->byte[]调用string的getBytes()
 *  byte[]-->String 调用String构造器将byte[]传进去
 *
 */
public class StringConvert {
    @Test
    public void test(){
        String str1="abc123";
        char[] charArray=str1.toCharArray();
        for (int i=0;i<charArray.length;i++){
            System.out.println(charArray[i]);
        }

        char[] arr=new char[]{'a','p','p','l','e'};
        String str=new String(arr);
        System.out.println(str);
    }

    @Test
    public void test2() throws UnsupportedEncodingException {
        String str1="abc123中国";
        byte[] bytes=str1.getBytes();//使用默认的字符集
        byte[] by2=str1.getBytes("gbk");

        for (int i=0;i<bytes.length;i++){
            System.out.println(bytes[i]);
        }
        System.out.println(Arrays.toString(by2));

        String str2=new String(bytes);//使用默认解码集
        String str3=new String(by2,"gbk");//指定解码集
        System.out.println(str2);
        System.out.println(str3);
    }
}

